package com.xie.common.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;



//TypeConverter类型转换器
@Retention(RetentionPolicy.RUNTIME)

//@Inherited是一个标识，用来修饰注解
//作用：如果一个类用上了@Inherited修饰的注解，那么其子类也会继承这个注解
//
//注意：
//
//接口用上个@Inherited修饰的注解，其实现类不会继承这个注解
//父类的方法用了@Inherited修饰的注解，子类也不会继承这个注解
//当用了@Inherited修饰的注解的@Retention是RetentionPolicy.RUNTIME，则增强了继承性，在反射中可以获取得到

@Inherited
@Target({ElementType.FIELD})
public @interface TypeConverter {
  String toTypeFullName() default "java.lang.String";

}
